columview: Make cells propagate request mode
authorMatthias Clasen <mclasen@redhat.com>
Fri, 5 Jun 2020 13:37:21 +0000 (09:37 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 5 Jun 2020 13:37:21 +0000 (09:37 -0400)
I think this is necessary to make wrapping
labels work.

gtk/gtkcolumnviewcell.c

index 0b41719e54e1546627e3e7ba3a79614da648ea56..0f14795476aac6c336ee942effd55f526c7f5d17 100644 (file)
@@ -121,6 +121,17 @@ gtk_column_view_cell_dispose (GObject *object)
   G_OBJECT_CLASS (gtk_column_view_cell_parent_class)->dispose (object);
 }
 
+static GtkSizeRequestMode
+gtk_column_view_cell_get_request_mode (GtkWidget *widget)
+{
+  GtkWidget *child = gtk_widget_get_first_child (widget);
+
+  if (child)
+    return gtk_widget_get_request_mode (child);
+  else
+    return GTK_SIZE_REQUEST_CONSTANT_SIZE;
+}
+
 static void
 gtk_column_view_cell_class_init (GtkColumnViewCellClass *klass)
 {
@@ -131,6 +142,7 @@ gtk_column_view_cell_class_init (GtkColumnViewCellClass *klass)
   widget_class->unroot = gtk_column_view_cell_unroot;
   widget_class->measure = gtk_column_view_cell_measure;
   widget_class->size_allocate = gtk_column_view_cell_size_allocate;
+  widget_class->get_request_mode = gtk_column_view_cell_get_request_mode;
 
   gobject_class->dispose = gtk_column_view_cell_dispose;